package com.zgjkhis.modules.system.service;

import com.zgjkhis.common.service.BaseService;
import com.zgjkhis.domain.PageResult;
import com.zgjkhis.modules.system.domain.DrugWareHousingDetail;
import com.zgjkhis.modules.system.domain.vo.DrugWareHousingDetailVO;
import com.zgjkhis.modules.system.service.dto.*;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @Author yzq
 * @Description 药品入库详情
 * @Date 2021/6/23 9:45
 * @Param
 * @return
 **/
public interface DrugWareHousingDetailService extends BaseService<DrugWareHousingDetail>{

    PageResult<DrugWareHousingDetailDto> findAllByPageable(DrugQueryCriteria criteria, Pageable pageable);

    PageResult<DrugWareHousingDetailDto> findAllWareDetailByPageable(DrugQueryCriteria criteria, Pageable pageable);

    List<DrugWareHousingDetailDto> findAllWareDetail(DrugQueryCriteria criteria);

    PageResult<DrugRemainDto> findRemainByPage(DrugRemainQueryCriteria criteria, Pageable pageable);

    List<DrugRemainDto> findRemainList(DrugRemainQueryCriteria criteria);

    void dowonload(List<DrugRemainDto> list, HttpServletResponse response) throws IOException;

    List<DrugWareHousingDetailDto> findAll(DrugTypeQueryCriteria criteria);

    List<DrugWareHousingDetailVO> queryList(String wareHousingNo);

    List<DrugWareHousingDetailDto> getValidityDrugDetailList(ValidityDrugCriteria criteria);

    void outDetails(DrugQueryCriteria criteria, HttpServletResponse response) throws IOException;


    List<DrugWareHousingDetail> queryComfireList(Long id);
}
